package cn.broadsense.thrid.param;

import cn.hutool.core.collection.CollUtil;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 请求参数基类
 *
 * @author pengxin
 * @date 2022-08-08 16:14
 */
@Data
public abstract class BaseParam implements Serializable {


    /**
     * 请求地址
     *
     */
    private String url;


    /**
     * 返回对象Class
     */
    @JsonIgnore
    private Class resultClass;


    /**
     * 忽略字段列表
     */
    @JsonIgnore
    private List<String> ignoreList = CollUtil.newArrayList("url","resultClass","ignoreList");

    /**
     * 校验必填参数
     *
     * @return
     */
   public abstract void checkParam() ;

    /**
     * 设置返回参数
     * @return
     */
   public abstract Class getResultClass();
}
